As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to these users is an information handling system or computing system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may vary with respect to the type of information handled; the methods for handling the information; the methods for processing, storing or communicating the information; the amount of information processed, stored, or communicated; and the speed and efficiency with which the information is processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include or comprise a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. The software components may comprise one or more modules that contain instructions that when executed perform one or more functions.
The information handling system may include one or more operating systems. An operating system serves many functions, such as controlling access to hardware resources and controlling the execution of application software. Operating systems also provide resources and services to support application software. These resources and services may include a file system, a centralized configuration database (such as the registry found in Microsoft Windows operating systems), a directory service, a graphical user interface, a networking stack, device drivers, and device management software. In some instances, services may be provided by other application software running on the information handling system, such as a database server.
Some information handling systems are designed to interact with other information handling systems over a network connection. In some instances, the information handling systems may share resources over the network. Certain of the networked information handling systems may act as servers, while others act as clients. In such systems, client applications and client devices may be designed so that the majority of the heavily used resources are at a shared information handling system, such as a centralized server. The client devices may have minimal memory, disk storage, and processor power. Use of such client devices may reduce the total cost of ownership because of the reduced use of resources at the client devices and because the clients can be centrally administered and updated from the server. Such client devices may be particularly well-suited for a network which can handle a significant number of devices.
Virtual desktop infrastructure (VDI) environments may include any one or more information handling systems. A virtual environment, such as a VDI, separates a desktop environment and its associated software in a data center or server, from the information handling system that is used to access the desktop environment. A “virtual desktop” may refer to any number of methodologies including server-based computing (SBC) where a number of users share the desktop of a server-based operating system, VDI where each user gets their own virtual machine which typically runs a client operating system, and application virtualization technologies that concentrate more closely on making specific applications available to users with these applications, for example, being hosted on a remote system or streamed to the user's local system. With respect to the virtual desktop technologies described, SBC is often regarded as being appropriate for task/call-center type environments, while VDI is more commonly deployed for knowledge workers who require a higher level of user personalization, and application virtualization technologies may be commonly deployed across SBC, VDI and physical desktop environments to solve business challenges such as legacy application OS compatibility.
In general, an operating system (OS), such as Windows, caches file data that is read from and written to a local storage device, such as a USB mass storage device. When a later read or write request is made the file data may be read from or written to a system memory known as a system file cache rather than directly to the local storage device. In VDI environments, the local storage device may be used at a remote server by drive-mapping; the local storage device is made available to the remote server as a network drive. For optimal performance, these mapped drives require caching servers at least one per branch or local site. Also, each drive mapping technology may apply its own particular caching mechanisms. Each different caching server may require separate hardware (which may be complex and/or expensive) and its own configuration and some may not support caching for redirected storage devices. Further, delays may result from utilization of a caching server that makes the system inefficient. The present disclosure provides systems and methods to address this problem.